package com.freewater.javabase.demo.designpattern.command2.complete.command;

import com.freewater.javabase.demo.designpattern.command2.complete.receiver.Light;

/**
 * 实现一个打开电灯的命令。要打开电灯，首先需要引用一个电灯，然后调用电灯的方法打开电灯。
 * 因此，这个命令对象封装了打开电灯的调用过程以及需要的执行者（持有对电灯对象的引用，然后调用电灯对象的on方法）
 * Created by FreeWater on 2017/4/4.
 */
public class LightOnCommand implements Command {
	private Light light;

	public LightOnCommand(Light light){
		this.light = light;
	}

	/**
	 * 调用电灯的on方法实现打开电灯
	 */
	@Override
	public void execute() {
		this.light.on();
	}
}
